} else {
let focusWindow = global.display.focus_window;
if (focusWindow)
- i = this._chrome.findIndexForWindow(focusWindow.get_compositor_private());
+ i = this._chrome.findIndexForWindow(focusWindow);
}
return i;
findMonitorForActor: function(actor) {
return this.monitors[this._chrome.findIndexForActor(actor)];
- }
+ },
+
+ findMonitorForWindow: function(window) {
+ return this.monitors[this._chrome.findIndexForWindow(window)];
+ },
});
Signals.addSignalMethods(LayoutManager.prototype);
},
findIndexForWindow: function(window) {
- let i = this._findMonitorForRect(window.x, window.y, window.width, window.height);
+ let rect = window.get_input_rect();
+ let i = this._findMonitorForRect(rect.x, rect.y, rect.width, rect.height);
if (i >= 0)
return i;
return this._primaryIndex; // Not on any monitor, pretend its on the primary
},
findMonitorForWindow: function(window) {
- let i = this._findMonitorForRect(window.x, window.y, window.width, window.height);
+ let rect = window.get_input_rect();
+ let i = this._findMonitorForRect(rect.x, rect.y, rect.width, rect.height);
if (i >= 0)
return this._monitors[i];
else
for (let i = windows.length - 1; i > -1; i--) {
let window = windows[i];
- let layer = window.get_meta_window().get_layer();
+ let metaWindow = window.meta_window;
+ let layer = metaWindow.get_layer();
// Skip minimized windows
if (!window.showing_on_its_workspace())
continue;
if (layer == Meta.StackLayer.FULLSCREEN) {
- let monitor = this.findMonitorForWindow(window);
+ let monitor = this.findMonitorForWindow(metaWindow);
if (monitor)
monitor.inFullscreen = true;
}
}
// Or whether it is monitor sized
- let monitor = this.findMonitorForWindow(window);
+ let monitor = this.findMonitorForWindow(metaWindow);
if (monitor &&
window.x <= monitor.x &&
window.x + window.width >= monitor.x + monitor.width &&